Telegram Group & Telegram Channel
🔥 UUID v7 в .NET 9

.NET изначально поддерживает UUID v4 через Guid.NewGuid().

При этом начиная с предварительной версии 7, появилась поддержка UUID версии 7.

📌 UUID v7


Так как GUID является альтернативным названием для UUID, новый API находится в пространстве имен System.Guid:


var guid = Guid.CreateVersion7();
var guidWithTimestamp = Guid.CreateVersion7(DateTimeOffset.UtcNow);


Главным преимуществом является включение метки времени в UUID. Это дает 122 бита энтропии, включая 6 бит для версии и варианта где-то посередине.

Главное преимущество заключается в том, что вы можете сортировать UUID по времени их создания, что делает их более подходящими для баз данных по сравнению с UUID v4.

📌 Контроль метки времени

Поскольку метод ожидает DateTimeOffset, вызывающая функция может использовать TimeProvider для контроля UtcNow:


var uuid = Guid.CreateVersion7(timeProvider.GetUtcNow());


timeProvider
может быть получен через DI контейнер и подделан в тестовых сценариях.

#csharp #dotnet #code

Источник

@csharp_1001_notes



tg-me.com/csharp_1001_notes/532
Create:
Last Update:

🔥 UUID v7 в .NET 9

.NET изначально поддерживает UUID v4 через Guid.NewGuid().

При этом начиная с предварительной версии 7, появилась поддержка UUID версии 7.

📌 UUID v7


Так как GUID является альтернативным названием для UUID, новый API находится в пространстве имен System.Guid:


var guid = Guid.CreateVersion7();
var guidWithTimestamp = Guid.CreateVersion7(DateTimeOffset.UtcNow);


Главным преимуществом является включение метки времени в UUID. Это дает 122 бита энтропии, включая 6 бит для версии и варианта где-то посередине.

Главное преимущество заключается в том, что вы можете сортировать UUID по времени их создания, что делает их более подходящими для баз данных по сравнению с UUID v4.

📌 Контроль метки времени

Поскольку метод ожидает DateTimeOffset, вызывающая функция может использовать TimeProvider для контроля UtcNow:


var uuid = Guid.CreateVersion7(timeProvider.GetUtcNow());


timeProvider
может быть получен через DI контейнер и подделан в тестовых сценариях.

#csharp #dotnet #code

Источник

@csharp_1001_notes

BY C# 1001 notes




Share with your friend now:
tg-me.com/csharp_1001_notes/532

View MORE
Open in Telegram


C 1001 notes Telegram | DID YOU KNOW?

Date: |

The STAR Market, as is implied by the name, is heavily geared toward smaller innovative tech companies, in particular those engaged in strategically important fields, such as biopharmaceuticals, 5G technology, semiconductors, and new energy. The STAR Market currently has 340 listed securities. The STAR Market is seen as important for China’s high-tech and emerging industries, providing a space for smaller companies to raise capital in China. This is especially significant for technology companies that may be viewed with suspicion on overseas stock exchanges.

Telegram announces Anonymous Admins

The cloud-based messaging platform is also adding Anonymous Group Admins feature. As per Telegram, this feature is being introduced for safer protests. As per the Telegram blog post, users can “Toggle Remain Anonymous in Admin rights to enable Batman mode. The anonymized admin will be hidden in the list of group members, and their messages in the chat will be signed with the group name, similar to channel posts.”

C 1001 notes from sg


Telegram C# 1001 notes
FROM USA